var wxTimer = function (initObj) {
  initObj = initObj || {};
  this.endTime = initObj.endTime || 0; //开始时间

  this.interval = initObj.interval || 0; //间隔时间

  this.complete = initObj.complete; //结束任务

  this.intervalFn = initObj.intervalFn; //间隔任务

  this.name = initObj.name; //当前计时器在计时器数组对象中的名字

  this.intervarID = initObj.id; //计时ID
  // this.intervarID; //计时ID
};

wxTimer.prototype = {
  //开始
  start: function (self) {
    console.log('倒计时开始');
    let end = this.endTime * 1000;
    let intId = this.intervarID;
    var that = this; //开始倒计时

    var count = 0; //这个count在这里应该是表示s数，js中获得时间是ms，所以下面*1000都换成ms

    function begin() {
      var countdown = parseInt((end - new Date().getTime()) / 1000);

      var day = _format(parseInt((end - new Date().getTime()) / 1000 / 60 / 60 / 24)); // var hour = _format(parseInt((end - new Date().getTime()) / 1000 / 60 / 60 % 24));


      var hour = _format(parseInt((end - new Date().getTime()) / 1000 / 60 / 60));

      var minute = _format(parseInt((end - new Date().getTime()) / 1000 / 60 % 60));

      var seconds = _format(parseInt((end - new Date().getTime()) / 1000) % 60);

      var wxTimerList = self.data.wxTimerList;
      console.log(seconds); //更新计时器数组
      // console.log(that.name);
      // console.log(
      //     {
      //         wxDay: day,
      //         wxHour: hour,
      //         wxMinute: minute,
      //         wxSeconds: seconds,
      //         wxCountdown: countdown,
      //         wxIntId: intId
      //     }
      // );

      wxTimerList[that.name] = {
        wxDay: day,
        wxHour: hour,
        wxMinute: minute,
        wxSeconds: seconds,
        wxCountdown: countdown,
        wxIntId: intId
      };
      self.setData({
        wxDay: day,
        wxHour: hour,
        wxMinute: minute,
        wxSeconds: seconds,
        countDown: countdown,
        wxTimerList: wxTimerList,
        wxIntId: intId
      }); //结束执行函数

      if (countdown <= 0) {
        if (that.complete) {
          that.complete(self);
          console.log('倒计时结束');
        }

        that.stop(self);
      }
    }

    begin();
    intId = setInterval(begin, 1000);
  },
  //结束
  // stop: function (self) {
  //     let Id = self.data.aTimer
  //     clearInterval(Id);
  // },
  stop: function (self) {
    let name = this.name;
    let timerId = self.data.wxTimerList[name].wxIntId;
    clearInterval(timerId);
  } // //校准
  // calibration: function() {
  //     this.endTime = this.endSystemTime - Date.now();
  // }

};

function _format(time) {
  if (time >= 10) {
    return time;
  } else {
    return '0' + time;
  }
}

module.exports = wxTimer;